草庐IT

c++ - Qt/QML - 在 C++ 中注册 QML 类型会使 QML 代码不起作用

我正在做一些事情,我有一个名为“FloatingMenu”的类(它应该在C++中管理菜单)及其在文件FloatingMenu.qml中用于GUI的QMLalter-ego。我有一个文件main.qml,其中有几个矩形和一个FloatingMenu,它按预期显示。现在,如果我执行qmlRegisterType("EasyGraph",1,0,"FloatingMenu");在我的main.cpp中,FloatingMenu的图形部分消失了。这是我的代码:intmain(intargc,char*argv[]){QGuiApplicationapp(argc,argv);//Registe

c++ - Qt : AddressBook tutorial 中的内存管理

到目前为止,我已经了解到,当父对象被删除时,Qt会释放所有子对象的内存。此外,通常不必关心在堆栈上创建的对象(即不是指针)的内存管理。现在,当我做得很好的时候"AddressBook"tutorial,我在第5部分找到了这个:AddressBook::AddressBook(QWidget*parent):QWidget(parent){dialog=newFindDialog;}完整的源代码可用:addressbook.haddressbook.cppfinddialog.h这里,dialog是AddressBook的私有(private)成员,它是指向FindDialog的指针。F

c++ - 在 Qt 上如何设置每列 33% 的 3 列布局?

我有一个3列布局,我正在努力寻找一个解决方案,以便在33%上设置3个流体列。 最佳答案 我想你正在寻找这个:voidQBoxLayout::addWidget(QWidget*widget,intstretch=0,Qt::Alignmentalignment=0)Addswidgettotheendofthisboxlayout,withastretchfactorofstretchandalignmentalignment.ThestretchfactorappliesonlyinthedirectionoftheQBoxLay

c++ - Qt 在布局中自动排列小部件

我是Qt的新手,有一个我无法解决的问题。我有一个滚动区域,我向其中添加了小部件(小部件是什么并不重要)。每个小部件都有一个静态大小,并且它们都具有相同的宽度(这可能很重要)。我想要做的是拥有一个布局/设置,以便所有这些小部件水平显示在滚动区域上,直到没有足够的空间容纳另一个小部件,此时它开始将小部件放在新行上,继续直到没有剩下。我已经考虑过手动实现它的方法,但我觉得这是Qt已经支持的东西,我只是没能找到它的文档。 最佳答案 你可以看到FlowLayoutExample.它演示了一个自定义布局,该布局从左到右、从上到下排列子窗口小部件

c++ - 使用 Qt 和 QNetworkRequest 恢复失败的 HTTP 下载

我正在尝试为我正在开发的应用程序添加自动更新功能。我将此功能基于QtHTTPExample(根据我的意思是我准确地复制了这个例子然后从那里开始)。它正在下载一个ZIP文件,然后提取其内容来为应用程序打补丁。下载时偶尔会出现连接失败,下载停止的情况。为了更加用户友好,我想我应该为下载器添加自动重启功能,如果下载失败,它会尝试重新启动一次。以下是我的代码的亮点-方法名称与示例中的方法名称相匹配:voidAutopatcher::httpReadyRead(){//fileisaQFilethatisopenedwhenthedownloadstartsif(file){QByteArray

c++ - 使用 Qt5 从网络摄像头录制视频

我已经尝试让它工作2天了,我很绝望。基本上我想用我的网络摄像头使用Qt5录制视频。到目前为止,我可以获得一个小部件来显示网络摄像头所看到的内容,但出于某种原因,每当我尝试使用QMediaRecorder类记录它时,它都不会将任何内容保存到outputLocation。输出文件已创建但包含0个字节。我试过使用视频编解码器的设置,但仍然没有成功。我认为像这样的简单代码会起作用:QCamera*camera=newQCamera(QCameraInfo::availableCameras().at(0));QCameraViewfinder*viewFinder=newQCameraView

c++ - 在 Qt 中创建一个简单的表格单元格

我想在Qt中创建一个简单的表格单元格。所以我写了下面的代码主窗口.cpp#include"mainwindow.h"#include"ui_mainwindow.h"#include#includeMainWindow::MainWindow(QWidget*parent):QMainWindow(parent),ui(newUi::MainWindow){ui->setupUi(this);QTableView*view=newQTableView;QStringListModel*model;view->setModel(model);view->show();model->set

c++ - Qt获取应用程序窗口外的鼠标事件

首先,我不确定如果不对X.11输入进行某种黑客攻击,这是否可行,但discussions我见过online让我觉得这是可能的。请允许我解释一下我希望做什么。我想要一个Qt应用程序,它很可能只是一个小窗口,位于屏幕的一侧,有点像一个小部件。在用户将另一个应用程序窗口拖到它上面之前,应用程序什么都不做。我希望检测到这一点的方法是跟踪鼠标并查看左键单击是否按下并且鼠标是否在Qt窗口上方并且Qt不是事件窗口然后执行一些操作。但是,当我的Qt应用程序不是事件窗口时,目前我无法获取鼠标事件。我认为我链接的其中一些帖子将“窗口”称为QApp内的QWindow。然而,我所说的窗口是X.11窗口,任何在

c++ - 翻译在 Qt 中不起作用

我一整天都在谷歌上搜索解决方案并更改我的代码,但没有成功。基本上,我已将翻译添加到我的应用程序中。它工作正常,除了这里:QStringMainWindow::getMessage(Messagesmsg){staticconstchar*constmessages[]={QT_TR_NOOP("Settingpoweron"),QT_TR_NOOP("ReadingID..."),QT_TR_NOOP("Programming..."),QT_TR_NOOP("Settingwrite-protect"),QT_TR_NOOP("Finishedok"),QT_TR_NOOP("PRO

c++ - Qt 表小部件。如何一起设置垂直标题和水平标题的含义/标题?

我知道如何将文本标签设置到行或列标题中。但我想做这样的事情:http://i.stack.imgur.com/eMM6U.jpg我找不到任何关于如何在红色圆圈内做这件事的信息。我开始相信这不能用QTableWidget来完成。谢谢;) 最佳答案 我认为使用标准标题(QHeaderView)是不可能的becauseof:Note:Eachheaderrendersthedataforeachsectionitself,anddoesnotrelyonadelegate.Asaresult,callingaheader'ssetItem